package com.zoweunion.mechanic.dao.base;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Component
public interface RoleDao {

	/**
	 * 查询所有角色
	 */
	List<Map<String, Object>> getAll(Map<String, Object> map);

	
	/**
	 * 更新角色
	 */
	void update(Map<String, Object> reqMap);

	/**
	 * 查询所有权限
	 * @return
	 */
	List<Map<String, Object>> getAllPermissions(@Param("s_id") String sId);
	
	/**
	 * 查询所有父级权限
	 * @return
	 */
	List<Map<String, Object>> getParentPermissions();
	

	/**
	 * 根据parent_id查询子权限权限
	 * @return
	 */
	List<Map<String, Object>> getChildrenPermissions(Map<String, Object> reqMap);
	
	
	/**
	 * 根据角色id,服务商id查询所有权限
	 */
	List<Map<String, Object>> getAllPermissionsByRole(Map<String, Object> reqMap);

	/**
	 *插入角色权限关联表 
	 */
	void insertRole_permission(Map<String, Object> reqMap);


	/**
	 * 根据角色id删除对应的角色_权限关联数据
	 * @param reqMap
	 */
	void deleteRole_permissionByR_id(Map<String, Object> reqMap);
	

}
